package com.minivision.fdiot.rest.param.camera;

import com.minivision.fdiot.common.AuthParam;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.NotBlank;

import javax.validation.constraints.Min;
import java.io.Serializable;

/**
 * <Description> <br>
 *
 * @author dengmawei <br>
 * @version 1.0 <br>
 * @taskId <br>
 * @CreateDate 2018/4/9 <br>
 */
@Data
@ApiModel(value = "CameraCreateParam")
public class CameraCreateParam extends AuthParam implements Serializable {
    /**
     * 序列号
     */
    private static final long serialVersionUID = -5885793283646108589L;

    /**
     * 摄像机Sn
     */
    @ApiModelProperty(value = "摄像机Sn" ,name = "camSn")
    private String camSn;

    /**
     * 摄像机名称
     */
    @ApiModelProperty(value = "摄像机名称" ,name = "camName")
    private String camName;

    /**
     * 摄像机IP
     */
    @ApiModelProperty(value = "摄像机IP" ,name = "camIp")
    private String camIp;

    /**
     * 摄像机端口
     */
    @ApiModelProperty(value = "摄像机端口" ,name = "camPort")
    private Integer camPort;

    /**
     * 摄像机用户名
     */
    @ApiModelProperty(value = "摄像机用户名" ,name = "camUser")
    private String camUser;

    /**
     * 摄像机密码
     */
    @ApiModelProperty(value = "摄像机密码" ,name = "camPassword")
    private String camPassword;

    /**
     * 摄像机类型
     */
    @ApiModelProperty(value = "摄像机类型", name = "camType")
    private Integer camType;

    /**
     * 设备布控策略id
     */
    @ApiModelProperty(value = "设备布控策略id", name = "stragetyId")
    private Long stragetyId;

    /**
     * 摄像机预览url
     */
    @ApiModelProperty(value = "摄像机预览url", name = "rtspUrl")
    private String rtspUrl;

    /**
     * onvif端口
     */
    @ApiModelProperty(value = "onvif端口", name = "onvifPort")
    private Integer onvifPort;

    /**
     * 摄像机所属设备sn
     */
    @NotBlank(message = "摄像机所属设备sn不能为空")
    @ApiModelProperty(value = "摄像机所属设备sn" ,name = "deviceSn", required = true)
    private String deviceSn;

    /**
     * 类型
     */
    @NotBlank(message = "类型不能为空")
    @ApiModelProperty(value = "类型", required = true)
    private String type;
}
